Enterprise desktop management is one of the most challenging tasks for Information Technology (IT) departments of large organizations today. A typical IT department needs to be able to upgrade users' operating systems, as well as restore the user applications, data, and settings after the migration on demand. One issue for IT departments is the complexity of migrating operating systems and managing applications on a large number of different computers of enterprise users. Further, upgrading of operating systems and the subsequent need to restore user applications can cause significant interruptions to the users' work if the user is unable to use the machine while installations are in progress. In addition, operating system migration may be tied to a deadline (e.g. expiration of a license), requiring a large number of machines to be migrated in a short timeframe. To compound these difficulties, today's enterprises are often dispersed over multiple geographic locations and the use of Local Area Networks (LANs) connected over one or more Wide Area Networks (WANs) with variable bandwidths and latencies is a serious barrier to providing efficient network management without sacrificing end user experience.
In a typical desktop management environment, an IT department can manage client devices remotely to provide updates, update operating systems, install applications, and perform other IT functions for the client devices. A client device on the network can be a physical machine, such as a computer, a laptop, or a tablet where all of a user's data and applications are stored or accessed. Enterprise desktop management can provide a more centralized and efficient client environment that is easier to manage by enterprise IT administrators. However, many issues still persist. For example, each time an IT administrator migrates a client device to a new operating system, the administrator may need to run an installer and figure out how to restore the user's applications, data, and settings, which is time consuming. The migrations can require manual assistance, and the process may be disruptive to the user's work. Accordingly, performing operating system migrations on large numbers of client devices can be extremely challenging. A more efficient approach is desirable for migrating client devices to new operating systems on enterprise networks.